home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-02 / oop_tp55.zip / LIST5_3.PAS < prev    next >
Pascal/Delphi Source File  |  1990-01-25  |  2KB  |  64 lines

  1. { Declarations from the interface section of Listing 3-1 }
  2.  
  3. DInput = object(Digital)
  4.             Setpoint  : real;
  5.             Reading   : real;
  6.             procedure PutSetpoint( NewSetpoint : real );
  7.             end;
  8.  
  9. HiSwitch = object(DInput)
  10.            procedure Init( ATag : string;
  11.             ASetpoint : real;
  12.             AReading : real);
  13.            procedure PutReading( NewReading : real );
  14.            end;
  15.  
  16. LoSwitch = object(DInput)
  17.            procedure Init( ATag : string;
  18.             ASetpoint : real;
  19.             AReading : real);
  20.            procedure PutReading( NewReading : real );
  21.            end;
  22.  
  23.  
  24. { Procedure definitions from the implementation section of Listing 3-1 }
  25.  
  26. procedure LoSwitch.Init( ATag : string;
  27.             ASetpoint : real;
  28.             AReading : real);
  29. begin
  30.      Tag.Init( ATag );
  31.      DInput.PutSetpoint( ASetpoint );
  32.      PutReading( AReading );
  33. end;
  34.  
  35. procedure LoSwitch.PutReading( NewReading : real );
  36. begin
  37.      Reading := NewReading;
  38.      if Reading <= Setpoint then
  39.         Status := true
  40.      else
  41.         Status := false;
  42. end;
  43.  
  44. procedure HiSwitch.Init( ATag : string;
  45.             ASetpoint : real;
  46.             AReading : real);
  47. begin
  48.      Tag.Init( ATag );
  49.      DInput.PutSetpoint( ASetpoint );
  50.      PutReading( AReading );
  51. end;
  52.  
  53. procedure HiSwitch.PutReading( NewReading : real );
  54. begin
  55.      Reading := NewReading;
  56.      if Reading >= Setpoint then
  57.         Status := true
  58.      else
  59.         Status := false;
  60. end;
  61.  
  62.  
  63. { Listing 5-3 }
  64.